package com.web.netalbum.service;

import com.web.netalbum.bean.User;

public interface UserService {
	/**
	 * 对密码进行加密后进行验证是否通过
	 * 先验证用户名和密码是否正确
	 * @param user
	 * @return
	 */
	User login(String userName,String password);
	/**
	 * 注册时判断用户名是否已经存在
	 * @param userName
	 * @return
	 */
	boolean isExist(String userName);
	/**
	 * 先将用户的密码进行加密后进行存储
	 * @param user
	 * @return
	 */
	boolean register(User user);
	
	/**
	 * 激活用户
	 * @param id
	 * @param code
	 * @return
	 */
	boolean active(String id,String code);
	
	/**
	 * 处理重置密码请求业务
	 * @param id
	 * @param code
	 * @return
	 */
	boolean resetPasswordRequest(String id,String code);
	
	/**
	 * 更新密码
	 * @param id
	 * @param password
	 * @return
	 */
	boolean updatePassword(String id,String password);
	
	/**
	 * 根据用户邮箱判断用户是否存在
	 * @param email
	 * @return
	 */
	User existByEmail(String email);
	
	/**
	 * 更新用户
	 * @param user
	 * return
	 */
	void updateUser(User user);
	
	/**
	 * 根据用户ID去查找用户
	 * @param id
	 * @return
	 */
	User findUser(String id);
	/**
	 * 通过用户名查找用户
	 * @param userName
	 * @return
	 */
	User findUserByName(String userName);
	
}
